﻿using System;

namespace Aeon.Framework.Objects
{

/// <summary>
/// Interface for animated objects.
///
/// </summary>
public interface IPlay : IModel
    {
    Boolean Loop { get; set; }  // Loop flag.
    Single Percent { get; }     // Completion percentage.

    /// <summary>
    /// Stop object and rewind to start.
    /// 
    /// </summary>
    void AnimateStop();
    
    /// <summary>
    /// Stop object and rewind to end.
    /// 
    /// </summary>
    void AnimateEnd();

    /// <summary>
    /// Stop object on current frame.
    /// 
    /// </summary>
    void AnimatePause();

    /// <summary>
    /// Resume playing forward.
    /// 
    /// </summary>
    void AnimateForward();

    /// <summary>
    /// Resume playing backward.
    /// 
    /// </summary>
    void AnimateBackward();

    /// <summary>
    /// Toggle animation loop on/off.
    /// 
    /// </summary>
    void AnimateLoop();
    }



}